Surfaces are used to control the interaction between light sources and objects. A surface specification consists of information about how the light interacts with both the exterior and interior of an object . For non-closed objects, such as polygons, the ``interior'' of an object is the ``other side'' of the object's surface relative to the origin of a ray.
<#670#><#2334#>Rayshade<#2334#><#670#> usually ensures that a primitive's surface normal is pointing towards the origin of the incident ray when performing shading calculations. Exceptions to this rule are transparent primitives, for which <#671#><#2336#>rayshade<#2336#><#671#> uses the direction of the surface normal to determine if the incident ray is entering or exiting the object. All non-transparent primitives will, in effect, be double-sided.